#ifndef DISK_MONITOR_H
#define DISK_MONITOR_H

#include <pthread.h>

// 磁盘IO统计结构体
typedef struct {
    unsigned long long read_bytes;     // 读取字节数
    unsigned long long write_bytes;    // 写入字节数
    unsigned long long read_ops;       // 读取操作数
    unsigned long long write_ops;      // 写入操作数
    double read_speed;                 // 读取速度（KB/s）
    double write_speed;                // 写入速度（KB/s）
} Disk_IO_Stats;

// 磁盘监控线程参数结构体
typedef struct {
    int interval;     // 监控间隔（秒）
    int running;      // 线程运行标志
} Disk_Monitor_Args;

// 函数声明
void* disk_monitor_thread(void* arg);
int init_disk_monitor(void);
void cleanup_disk_monitor(void);
Disk_IO_Stats get_disk_io_stats(void);

#endif // DISK_MONITOR_H 